package com.indexingsystem.boss.admin.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.indexingsystem.boss.Vo.TablesQueryVo;
import com.indexingsystem.boss.entity.Tables;

public interface TablesMapper {
	
	/**
	 * 根据表id删除表
	 * @param tableId
	 * @return
	 */
    int deleteByPrimaryKey(String tableId);
    
    /**
     * 新增表
     * @param record
     * @return
     */
    int insert(Tables record);

    /**
     * 条件新增表
     * @param record
     * @return
     */
    int insertSelective(Tables record);

    /**
     * 根据条件查询表
     * @param tableId
     * @return
     */
    Tables selectByPrimaryKey(String tableId);
    /**
     * 根据表名查询表
     * @param tableName
     * @return
     */
    Tables getTableByTableName(String tableName);
    
    /**
     *查询表数据
     * @param tableName
     * @return
     */
    Integer getTablesVal(@Param("tableName") String tableName);

    /**
     * 根据条件修改表
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(Tables record);

    /**
     * 修改表
     * @param record
     * @return
     */
    int updateByPrimaryKey(Tables record);
    
    /**
     * 查询数据表
     * @param tablesQueryVo
     * @return
     */
    List<TablesQueryVo> getTablesList(TablesQueryVo tablesQueryVo);
    
    /**
     * 查询数据表总数量
     * @param tablesQueryVo
     * @return
     */
    Integer getTablesListCount(TablesQueryVo tablesQueryVo);
    
    /**
     * 根据表id批量删除表结构
     * @param tableId
     * @return
     */
    Integer batchDelectTable(@Param("list") List<String> list);
    
    /**
     * 创建表
     * @param tablesVo
     * @return
     */
    int addTables(@Param("createSql") String createSql);
    
    
    /**
     * 删除当前表
     * @param content
     * @return
     */
    int dropTalbeTableName(String content);
    
}